package com.edfu.core.institutemgt.service.api;

import java.util.Date;
import java.util.List;

import com.edfu.core.institutemgt.vo.AcademicSemester;
import com.edfu.core.institutemgt.vo.Batch;
import com.edfu.core.institutemgt.vo.BatchSemesterAssn;
import com.edfu.core.institutemgt.vo.Branch;
import com.edfu.core.institutemgt.vo.Institute;
import com.edfu.core.util.Response;

public interface IInstituteMgtService {
	public Response addInstitute(Institute institute);
	public Response updateInstitute(Institute institute);
	public Response deleteInstitute(String instituteCode);
	public Institute getInstituteDetails(String instituteCode);
	public Response addBranch(Branch branch);
	public Response updateBranch(Branch branch);
	public Response deleteBranch(String branchCode);
	public Response editBatchSemesterAssociation(String batchCode, String semesterCode, Date startsOn, Date endsOn);
	public Response addBatch(Batch batch);
	public Response updateBatch(Batch batch);
	public Response deleteBatch(String batchCode);
	public Response associateSemestersToBranch(List<String> semesterCodes, String branchCode);
	public Response associateSemesterToBranch(String semesterCode, String branchCode);	
	public Response assignBatchToSemester(BatchSemesterAssn batchSemAssn);
	public Response addSemester(AcademicSemester semester);

}
